#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <sys/wait.h>
#include "ListaPedidos.h"

//inserção à cabeça
Lpedidos insert (Lpedidos list, int pid,int nlinha, int ficheiro, char operacao){
    Lpedidos aux = (Lpedidos)malloc(sizeof(struct listaPedidos));
    aux->ficheiro=ficheiro;
    aux->nlinha=nlinha;
    aux->pid=pid;
    aux->operacao=operacao;
    aux->next=list;
    return aux;
}

//apaga um pedido de acesso concluído
Lpedidos erase (Lpedidos list, int pid, int nlinha, int ficheiro)
{
    Lpedidos aux= list;
    Lpedidos aux2;
    if (aux->next->ficheiro==ficheiro&&aux->next->nlinha==nlinha&& aux->next->pid==pid)
    {
        list=list->next;
        free(aux);
        return list;
    }
    while (aux->next->ficheiro!=ficheiro&&aux->next->nlinha!=nlinha&& aux->next->pid!=pid){
        aux=aux->next;
    }
    if(aux->next!=NULL){
        aux2=aux->next;
        aux->next=aux2->next;
        free(aux2);
    }
    return list;
    
}
